home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC] / NeXTSTEP 3.3 Dev Intel.iso / NextDeveloper / Source / GNU / libg++ / libio / config.shared < prev    next >
Text File  |  1994-02-15  |  11KB  |  357 lines

  1. # Copyright (C) 1993 Free Software Foundation
  2. # This file is part of the GNU IO Library.  This library is free
  3. # software; you can redistribute it and/or modify it under the
  4. # terms of the GNU General Public License as published by the
  5. # Free Software Foundation; either version 2, or (at your option)
  6. # any later version.
  7. # This library is distributed in the hope that it will be useful,
  8. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  10. # GNU General Public License for more details.
  11. # You should have received a copy of the GNU General Public License
  12. # along with GNU CC; see the file COPYING.  If not, write to
  13. # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  14.  
  15. # Significant variables:
  16.  
  17. test -z "${TO_TOPDIR}" && TO_TOPDIR=${TOLIBGXX}../
  18. DOING_LIBGXX=${DOING_LIBGXX-false}
  19. THIS_FILE="${srcdir}/${TOLIBGXX}config.shared"
  20.  
  21. echo "# Start of package fragment generated by ${THIS_FILE}."
  22.  
  23. # TOLIBGXX
  24. # MOSTLYCLEAN
  25. # CLEAN
  26. # DISTCLEAN
  27. # REALCLEAN
  28. # SUBDIRS [defaults to (configdirs)]
  29. # INFO_FILES   List of (basenames of) texinfo files
  30. # INFO_SUBDIRS [default: empty]  sub-directories containing documentation
  31.  
  32. rootme=${rootme-`pwd`}
  33. TOPDIR=${TOPDIR='$${rootme}'${TO_TOPDIR}}
  34. echo '#' TOPDIR="${TOPDIR} invsubdir=${invsubdir} subdir=${subdir}"
  35. SUBDIRS=${SUBDIRS-${configdirs}}
  36.  
  37. echo "srcdir = ${srcdir}"
  38. echo "SUBDIRS = ${SUBDIRS}"
  39.  
  40. echo "prefix = ${prefix-/usr/local}"
  41. echo "exec_prefix = ${exec_prefix-'${prefix}'}"
  42.  
  43. echo 'bindir = $(exec_prefix)/bin'
  44. echo 'libdir = $(exec_prefix)/lib'
  45.  
  46. echo 'datadir = $(prefix)/lib'
  47. echo 'mandir = $(prefix)/man'
  48. echo 'man1dir = $(mandir)/man1'
  49. echo 'man2dir = $(mandir)/man2'
  50. echo 'man3dir = $(mandir)/man3'
  51. echo 'man4dir = $(mandir)/man4'
  52. echo 'man5dir = $(mandir)/man5'
  53. echo 'man6dir = $(mandir)/man6'
  54. echo 'man7dir = $(mandir)/man7'
  55. echo 'man8dir = $(mandir)/man8'
  56. echo 'man9dir = $(mandir)/man9'
  57.  
  58. echo 'infodir = $(prefix)/info'
  59. echo 'includedir = $(prefix)/include'
  60. echo 'gxx_includedir = /NextDeveloper/Headers/g++'
  61. echo 'docdir = $(datadir)/doc'
  62. echo ''
  63. echo 'SHELL = /bin/sh'
  64. echo ''
  65. case "$srcdir" in
  66.  /*) echo 'INSTALL = $(srcdir)'/"${TO_TOPDIR}install.sh -c" ;;
  67.  *)  echo 'INSTALL = ${rootme}$(srcdir)'/"${TO_TOPDIR}install.sh -c" ;;
  68. esac
  69. echo 'INSTALL_PROGRAM = $(INSTALL)'
  70. echo 'INSTALL_DATA = $(INSTALL)'
  71. echo ''
  72. echo 'AR = `if [ -f' ${TOPDIR}'binutils/ar ] ; \'
  73. echo "    then echo ${TOPDIR}binutils/ar ; "'\'
  74. echo '    else echo ar ; fi`'
  75. echo 'AR_FLAGS = rc'
  76. echo 'RANLIB = `if [ -f' ${TOPDIR}'binutils/ranlib ] ; \'
  77. echo '    then echo '${TOPDIR}'binutils/ranlib ; \'
  78. echo '    else echo ranlib ; fi`'
  79. echo 'NM = `if [ -f' ${TOPDIR}'binutils/nm ] ; \'
  80. echo '    then echo '${TOPDIR}'binutils/nm ; \'
  81. echo '    else echo nm ; fi`'
  82. echo ''
  83. echo 'MAKEINFO = `if [ -f '${TOPDIR}'texinfo/C/makeinfo ] ; \'
  84. echo '    then echo '${TOPDIR}'texinfo/C/makeinfo ; \'
  85. echo '    else echo makeinfo ; fi`'
  86. echo 'TEXIDIR=${srcdir}/'"${TO_TOPDIR}/texinfo"
  87. echo 'TEXI2DVI = TEXINPUTS=${TEXIDIR}:$$TEXINPUTS texi2dvi'
  88. echo ''
  89. echo 'CC = `if [ -f '${TOPDIR}'gcc/xgcc ] ; \'
  90. echo '    then echo '${TOPDIR}'gcc/xgcc -B'${TOPDIR}'gcc/ ; \'
  91. echo '    else echo cc ; fi`'
  92. echo 'CXX = `if [ -f '${TOPDIR}'gcc/xgcc ] ; \'
  93. echo '    then echo '${TOPDIR}'gcc/xgcc -B'${TOPDIR}'gcc/ ; \'
  94. echo '    else echo gcc ; fi`'
  95. echo ''
  96. echo 'XTRAFLAGS = `if [ -f '${TOPDIR}'gcc/xgcc ] ;\'
  97. echo '    then echo -I'${TOPDIR}'gcc/include;\'
  98. echo '    else echo ; fi`'
  99. # FIXME!!!
  100. if true ; then
  101.   echo 'WRAP_C_INCLUDES ='
  102. else
  103.   echo 'WRAP_C_INCLUDES = -I$(srcdir)'/${TOLIBGXX}g++-include
  104. fi
  105. echo 'CFLAGS = -g'
  106. echo 'CXXFLAGS = -g -O'
  107.  
  108. if test "${DOING_LIBGXX}" = "true" ; then
  109.   echo 'PROTODIR = $(srcdir)'/${TOLIBGXX}src/gen
  110.   echo "LIBS = ${TOLIBGXX}libg++.a"
  111.  
  112.   # You can override iostream (e.g. in a site- or host-Makefile fragment) to:
  113.   # iostream (Normal iostream library)
  114.   # old-stream (Old stream library; no longer supported)
  115.   # no-stream (If you don't want iostream to be part of libg++)
  116.   echo 'IO_DIR = ../libio'
  117.   echo '# IO_DIR = no-stream'
  118. fi
  119.  
  120. if [ -z "${ALL}" ] ; then
  121.   if [ -n "${TARGETLIB}" ] ; then
  122.     ALL='$(TARGETLIB)'
  123.     echo "TARGETLIB = ${TARGETLIB}"
  124.   elif [ -n "${TARGETPROG}" ] ; then
  125.     ALL='${TARGETPROG}'
  126.     echo "TARGETPROG = ${TARGETPROG}"
  127.   else
  128.     echo "config error: neither ALL, TARGETLIB or TARGETPROG is defined" 1>&2
  129.   fi
  130. fi
  131.  
  132. echo '.PHONY: all'
  133. echo "all: ${ALL}"
  134. if [ "${SUBDIRS}" != "" ] ; then
  135.   echo '    @rootme=`pwd`/; export rootme; \'
  136.   echo '    $(MAKE) "DODIRS=$(SUBDIRS)" DO=all $(FLAGS_TO_PASS) subdir_do'
  137. fi
  138.  
  139. echo ''
  140.  
  141.  
  142. echo
  143. if [ "${SUBDIRS}" != "" ] ; then
  144.   echo '.PHONY: subdir_do'
  145.   echo 'subdir_do: force'
  146.   echo '    @rootme=`pwd`/; export rootme; \'
  147.   echo '    for i in $(DODIRS); do \'
  148.   echo '        if [ -f  ./$$i/Makefile ] ; then \'
  149.   echo '            echo "cd $$i; make $(DO) ..." ; \'
  150.   echo '            (cd $$i ; $(MAKE) $(FLAGS_TO_PASS) $(DO)) || exit 1 ; \'
  151.   echo '        else true ; fi ; \'
  152.   echo '    done'
  153.   echo ''
  154.   echo '# List of variables to pass to sub-makes.  This should not be needed'
  155.   echo '# by GNU make or Sun make (both of which pass command-line variable'
  156.   echo '# overrides thouh $(MAKE)) but may be needed by older versions.'
  157.   echo ''
  158.   echo 'FLAGS_TO_PASS= \'
  159.   echo '    "INSTALL=$(INSTALL)" \'
  160.   echo '    "INSTALL_DATA=$(INSTALL_DATA)" \'
  161.   echo '    "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \'
  162.   echo '    "prefix=$(prefix)" \'
  163.   echo '    "exec_prefix=$(exec_prefix)" \'
  164.   echo '    "tooldir=$(tooldir)" \'
  165.   echo '    "AR=$(AR)" \'
  166.   echo '    "AR_FLAGS=$(AR_FLAGS)" \'
  167.   echo '    "CC=$(CC)" \'
  168.   echo '    "CXX=$(CXX)" \'
  169.   echo '    "CFLAGS=$(CFLAGS)" \'
  170.   echo '    "CXXFLAGS=$(CXXFLAGS)" \'
  171.   echo '    "RANLIB=$(RANLIB)" \'
  172.   echo '    "LOADLIBES=$(LOADLIBES)" \'
  173.   echo '    "LDFLAGS=$(LDFLAGS)" \'
  174.   echo '    "MAKEINFO=$(MAKEINFO)" \'
  175.   echo '    "XTRAFLAGS=$(XTRAFLAGS)"'
  176. fi
  177.  
  178. if test -n "${CXXINCLUDES}" ; then
  179.   echo "CXXINCLUDES = ${CXXINCLUDES}" '$(XTRAFLAGS)'
  180. elif test "${DOING_LIBGXX}" = "true" ; then
  181.   echo 'CXXINCLUDES = $(NOSTDINC)'" -I. -I${TO_TOPDIR}libio"' -I$(srcdir) -I$(srcdir)/'"${TOLIBGXX}"'$(IO_DIR) -I$(srcdir)/'"${TOLIBGXX}src"' $(WRAP_C_INCLUDES) $(XTRAFLAGS)'
  182. fi
  183. if test -n "${CINCLUDES}" ; then
  184.   echo "CINCLUDES = ${CINCLUDES}" '$(XTRAFLAGS)'
  185. elif test "${DOING_LIBGXX}" = "true" ; then
  186.   echo 'CINCLUDES = $(XTRAFLAGS)'
  187. fi
  188.  
  189. echo '.SUFFIXES: .o .C .cc'
  190. echo '.c.o:'
  191. echo '    $(CC) -c $(CFLAGS) $(CINCLUDES) $<'
  192. [ "${TOUCH_ON_COMPILE}" = "yes" ] && echo '    @touch stamp'
  193. echo '.C.o:'
  194. echo '    $(CXX) -c $(CXXFLAGS) $(CXXINCLUDES) $<'
  195. [ "${TOUCH_ON_COMPILE}" = "yes" ] && echo '    @touch stamp'
  196. echo '.cc.o:'
  197. echo '    $(CXX) -c $(CXXFLAGS) $(CXXINCLUDES) $<'
  198. [ "${TOUCH_ON_COMPILE}" = "yes" ] && echo '    @touch stamp'
  199. echo ''
  200.  
  201. if [ -n "${TARGETLIB}" ] ; then
  202.   echo TARGETLIB = ${TARGETLIB}
  203. fi
  204. if [ -n "${TARGETPROG}" ] ; then
  205.   echo TARGETPROG = ${TARGETPROG}
  206. fi
  207.  
  208. echo ''
  209. echo '.PHONY: install'
  210. echo 'install:'
  211. echo '.PHONY: check'
  212. if [ "${CHECK}" != "check" ] ; then
  213.   echo "check: ${ALL} ${CHECK}"
  214.   if [ "${SUBDIRS}" != "" ] ; then
  215.     echo '    @rootme=`pwd`/; export rootme; \'
  216.     echo '    $(MAKE) "DODIRS=$(SUBDIRS)" DO=check $(FLAGS_TO_PASS) subdir_do'
  217.   fi
  218. fi
  219.  
  220. # Generate rules for documentation (depending on INFO_FILES and INFO_SUBDIRS).
  221.  
  222. echo '.PHONY: info dvi install-info clean-info'
  223.  
  224. # emit the rule for 'info'
  225. if [ -z "${INFO_FILES}" ] ; then
  226.   echo 'info:'
  227. else
  228.   echo info: `for file in ${INFO_FILES} ; do echo $file.info ; done`
  229. fi
  230. if [ "${INFO_SUBDIRS}" != "" ] ; then
  231.   echo '    @rootme=`pwd`/; export rootme; \
  232.     $(MAKE) "DODIRS='${INFO_SUBDIRS}'" DO=info $(FLAGS_TO_PASS) subdir_do'
  233. fi
  234.  
  235. # emit the rule for 'dvi'
  236. if [ -z "${INFO_FILES}" ] ; then
  237.   echo 'dvi:'
  238. else
  239.   echo dvi: `for file in ${INFO_FILES} ; do echo $file.dvi ; done`
  240. fi
  241. if [ "${INFO_SUBDIRS}" != "" ] ; then
  242.   echo '    @rootme=`pwd`/; export rootme; \
  243.     $(MAKE) "DODIRS='${INFO_SUBDIRS}'" DO=dvi $(FLAGS_TO_PASS) subdir_do'
  244. fi
  245.  
  246. # Emit rules for each *.info and *.dvi file
  247. for file in ${INFO_FILES} ; do
  248.   echo ${file}.info: '$(srcdir)'/${file}.texi
  249.   echo '    $(MAKEINFO) -I$(srcdir) -I$(TEXIDIR) $(srcdir)/'${file}.texi -o ${file}.info
  250.   echo ${file}.dvi: '$(srcdir)'/${file}.texi
  251.   echo '    $(TEXI2DVI) $(srcdir)'/${file}.texi
  252.   echo "${file}.ps: ${file}.dvi"
  253.   echo "    dvips ${file} -o"
  254. done
  255.  
  256. # emit the rule for install-info
  257. echo 'install-info:'
  258. if [ -n "${INFO_FILES}" ] ; then
  259.   echo '    -parent=`echo $(infodir)|sed -e' "'"'s@/[^/]*$$@@'"'"'`; \'
  260.   echo '    if [ -d $$parent ] ; then true ; else mkdir $$parent ; fi'
  261.   echo '    -if [ -d $(infodir) ] ; then true ; else mkdir $(infodir) ; fi'
  262.   echo '    for i in *.info* ; do \'
  263.   echo '      $(INSTALL_DATA) $$i $(infodir)/$$i ; \'
  264.   echo '    done'
  265. fi
  266. if [ "${INFO_SUBDIRS}" != "" ] ; then
  267.   echo '    @rootme=`pwd`/; export rootme; \
  268.     $(MAKE) "DODIRS='${INFO_SUBDIRS}'" DO=install-info $(FLAGS_TO_PASS) subdir_do'
  269. fi
  270.  
  271. # emit clean-info and clean-dvi rules
  272. echo '.PHONY: do-clean-info clean-info do-clean-dvi clean-dvi'
  273. echo do-clean-info:
  274. if [ -n "${INFO_FILES}" ] ; then
  275.   echo '    rm -f *.info*'
  276. fi
  277. echo 'do-clean-dvi:'
  278. if [ -n "${INFO_FILES}" ] ; then
  279.   echo '    rm -f *.dvi *.aux *.cp *.fn* *.ky *.log *.pg *.toc *.tp *.vr'
  280. fi
  281. for type in info dvi ; do
  282.   echo clean-${type}: do-clean-${type}
  283.   if [ "${INFO_SUBDIRS}" != "" ] ; then
  284.     echo '    @rootme=`pwd`/; export rootme; \
  285.     $(MAKE) "DODIRS='${NFO_SUBDIRS}'" DO=clean-'${type} '$(FLAGS_TO_PASS) subdir_do'
  286.   fi
  287. done
  288.  
  289. echo ''
  290.  
  291. echo '.PHONY: boltcc'
  292. echo 'boltcc:'
  293. echo '    rootme=`pwd`/ ; export rootme ; $(MAKE) $(FLAGS_TO_PASS)'
  294. echo ''
  295.  
  296. # Emit clean rules
  297.  
  298. echo ''
  299. echo '# clean rules'
  300.  
  301. MOSTLYCLEAN="${MOSTLYCLEAN-*.o core} `if test -n "${TOUCH_ON_COMPILE}"; then echo stamp; else true; fi`"
  302. CLEAN="${CLEAN-${TARGETPROG} ${TARGETLIB}}"
  303. DISTCLEAN="${DISTCLEAN-config.status Makefile *~ Make.pack}"
  304. REALCLEAN="${REALCLEAN-depend *.info*}"
  305.  
  306.  
  307. echo '.PHONY: mostlyclean clean distclean realclean'
  308. if test -z "${SUBDIRS}" ; then
  309.   echo "mostlyclean: clean-dvi"
  310.   echo "    rm -rf ${MOSTLYCLEAN}"
  311.   echo "clean: clean-dvi"
  312.   echo "    rm -rf ${MOSTLYCLEAN} ${CLEAN}"
  313.   echo "distclean: clean"
  314.   echo "    rm -rf ${DISTCLEAN}"
  315.   echo "realclean: clean clean-info"
  316.   echo "    rm -rf ${DISTCLEAN} ${REALCLEAN}"
  317. else
  318.   echo '.PHONY: do-clean subdir_distclean subdir_realclean'
  319.   echo "mostlyclean: do-clean-dvi"
  320.   echo "    rm -rf ${MOSTLYCLEAN}"
  321.   echo '    @$(MAKE) $(FLAGS_TO_PASS) "DODIRS=$(SUBDIRS)" DO=mostlyclean subdir_do'
  322.   echo "do-clean: do-clean-dvi"
  323.   echo "    rm -rf ${MOSTLYCLEAN} ${CLEAN}"
  324.   echo "clean: do-clean"
  325.   echo '    @$(MAKE) $(FLAGS_TO_PASS) "DODIRS=$(SUBDIRS)" DO=clean subdir_do'
  326.   # distclean and realclean are tricky because they remove the Makefile.
  327.   echo "subdir_distclean:"
  328.   echo '    @$(MAKE) $(FLAGS_TO_PASS) "DODIRS=$(SUBDIRS)" DO=distclean subdir_do'
  329.   echo "distclean: do-clean subdir_distclean"
  330.   echo "    rm -rf ${DISTCLEAN}"
  331.   echo "subdir_realclean:"
  332.   echo '    @$(MAKE) $(FLAGS_TO_PASS) "DODIRS=$(SUBDIRS)" DO=realclean subdir_do'
  333.   echo "realclean: do-clean subdir_realclean do-clean-info"
  334.   echo "    rm -rf ${DISTCLEAN} ${REALCLEAN}"
  335. fi
  336.  
  337. echo ''
  338. echo '.PHONY: force'
  339. echo 'force:'
  340. echo ''
  341. echo '# with the gnu make, this is done automatically.'
  342. echo ''
  343. echo 'Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag)'
  344. echo '    $(SHELL) ./config.status'
  345. echo ''
  346. echo '.NOEXPORT:'
  347. echo 'MAKEOVERRIDES='
  348.  
  349. if [ -f ${srcdir}/${subdir}/depend ] ; then
  350.   cat ${srcdir}/${subdir}/depend
  351. fi
  352.  
  353. echo "# End of package fragment generated by ${THIS_FILE}."
  354.